reftests: Add tests that check default-size is computed correctly
authorBenjamin Otte <otte@redhat.com>
Mon, 20 Sep 2021 22:59:36 +0000 (00:59 +0200)
committerBenjamin Otte <otte.benjamin@googlemail.com>
Tue, 21 Sep 2021 02:52:30 +0000 (02:52 +0000)
Related: #4136

testsuite/reftests/default-size-undecorated.ref.ui [new file with mode: 0644]
testsuite/reftests/default-size-undecorated.ui [new file with mode: 0644]
testsuite/reftests/default-size-with-titlebar.ref.ui [new file with mode: 0644]
testsuite/reftests/default-size-with-titlebar.ui [new file with mode: 0644]
testsuite/reftests/default-size-without-titlebar.ref.ui [new file with mode: 0644]
testsuite/reftests/default-size-without-titlebar.ui [new file with mode: 0644]
testsuite/reftests/meson.build

diff --git a/testsuite/reftests/default-size-undecorated.ref.ui b/testsuite/reftests/default-size-undecorated.ref.ui
new file mode 100644 (file)
index 0000000..815a17c
--- /dev/null
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+  <object class="GtkWindow" id="window">
+    <property name="width_request">600</property>
+    <property name="height_request">400</property>
+    <property name="decorated">0</property>
+    <property name="child">
+      <object class="GtkGrid">
+        <property name="valign">center</property>
+        <property name="halign">center</property>
+        <property name="column-spacing">10</property>
+        <property name="row-spacing">10</property>
+        <child>
+          <object class="GtkLabel">
+            <property name="label">default width:</property>
+            <layout>
+              <property name="column">0</property>
+              <property name="row">0</property>
+            </layout>
+          </object>
+        </child>
+        <child>
+          <object class="GtkLabel">
+            <property name="label">600</property>
+            <layout>
+              <property name="column">1</property>
+              <property name="row">0</property>
+            </layout>
+          </object>
+        </child>
+        <child>
+          <object class="GtkLabel">
+            <property name="label">default height:</property>
+            <layout>
+              <property name="column">0</property>
+              <property name="row">1</property>
+            </layout>
+          </object>
+        </child>
+        <child>
+          <object class="GtkLabel">
+            <property name="label">400</property>
+            <layout>
+              <property name="column">1</property>
+              <property name="row">1</property>
+            </layout>
+          </object>
+        </child>
+      </object>
+    </property>
+  </object>
+</interface>
diff --git a/testsuite/reftests/default-size-undecorated.ui b/testsuite/reftests/default-size-undecorated.ui
new file mode 100644 (file)
index 0000000..92f636a
--- /dev/null
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+  <object class="GtkWindow" id="window">
+    <property name="width_request">600</property>
+    <property name="height_request">400</property>
+    <property name="decorated">0</property>
+    <property name="child">
+      <object class="GtkGrid">
+        <property name="valign">center</property>
+        <property name="halign">center</property>
+        <property name="column-spacing">10</property>
+        <property name="row-spacing">10</property>
+        <child>
+          <object class="GtkLabel">
+            <property name="label">default width:</property>
+            <layout>
+              <property name="column">0</property>
+              <property name="row">0</property>
+            </layout>
+          </object>
+        </child>
+        <child>
+          <object class="GtkLabel">
+            <!-- This binding should never do anything because the text is set to
+                 the correct value from the start, all we do is make sure it doesn't change -->
+            <property name="label" bind-source="window" bind-property="default-width">600</property>
+            <layout>
+              <property name="column">1</property>
+              <property name="row">0</property>
+            </layout>
+          </object>
+        </child>
+        <child>
+          <object class="GtkLabel">
+            <property name="label">default height:</property>
+            <layout>
+              <property name="column">0</property>
+              <property name="row">1</property>
+            </layout>
+          </object>
+        </child>
+        <child>
+          <object class="GtkLabel">
+            <!-- This binding should never do anything because the text is set to
+                 the correct value from the start, all we do is make sure it doesn't change -->
+            <property name="label" bind-source="window" bind-property="default-height">400</property>
+            <layout>
+              <property name="column">1</property>
+              <property name="row">1</property>
+            </layout>
+          </object>
+        </child>
+      </object>
+    </property>
+  </object>
+</interface>
diff --git a/testsuite/reftests/default-size-with-titlebar.ref.ui b/testsuite/reftests/default-size-with-titlebar.ref.ui
new file mode 100644 (file)
index 0000000..37826fb
--- /dev/null
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+  <object class="GtkWindow" id="window">
+    <property name="width_request">600</property>
+    <property name="height_request">400</property>
+    <property name="title">size?</property>
+    <property name="titlebar">
+      <object class="GtkHeaderBar" />
+    </property>
+    <property name="child">
+      <object class="GtkGrid">
+        <property name="valign">center</property>
+        <property name="halign">center</property>
+        <property name="column-spacing">10</property>
+        <property name="row-spacing">10</property>
+        <child>
+          <object class="GtkLabel">
+            <property name="label">default width:</property>
+            <layout>
+              <property name="column">0</property>
+              <property name="row">0</property>
+            </layout>
+          </object>
+        </child>
+        <child>
+          <object class="GtkLabel">
+            <property name="label">600</property>
+            <layout>
+              <property name="column">1</property>
+              <property name="row">0</property>
+            </layout>
+          </object>
+        </child>
+        <child>
+          <object class="GtkLabel">
+            <property name="label">default height:</property>
+            <layout>
+              <property name="column">0</property>
+              <property name="row">1</property>
+            </layout>
+          </object>
+        </child>
+        <child>
+          <object class="GtkLabel">
+            <property name="label">400</property>
+            <layout>
+              <property name="column">1</property>
+              <property name="row">1</property>
+            </layout>
+          </object>
+        </child>
+      </object>
+    </property>
+  </object>
+</interface>
diff --git a/testsuite/reftests/default-size-with-titlebar.ui b/testsuite/reftests/default-size-with-titlebar.ui
new file mode 100644 (file)
index 0000000..9e57aa4
--- /dev/null
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+  <object class="GtkWindow" id="window">
+    <property name="width_request">600</property>
+    <property name="height_request">400</property>
+    <property name="title">size?</property>
+    <property name="titlebar">
+      <object class="GtkHeaderBar" />
+    </property>
+    <property name="child">
+      <object class="GtkGrid">
+        <property name="valign">center</property>
+        <property name="halign">center</property>
+        <property name="column-spacing">10</property>
+        <property name="row-spacing">10</property>
+        <child>
+          <object class="GtkLabel">
+            <property name="label">default width:</property>
+            <layout>
+              <property name="column">0</property>
+              <property name="row">0</property>
+            </layout>
+          </object>
+        </child>
+        <child>
+          <object class="GtkLabel">
+            <!-- This binding should never do anything because the text is set to
+                 the correct value from the start, all we do is make sure it doesn't change -->
+            <property name="label" bind-source="window" bind-property="default-width">600</property>
+            <layout>
+              <property name="column">1</property>
+              <property name="row">0</property>
+            </layout>
+          </object>
+        </child>
+        <child>
+          <object class="GtkLabel">
+            <property name="label">default height:</property>
+            <layout>
+              <property name="column">0</property>
+              <property name="row">1</property>
+            </layout>
+          </object>
+        </child>
+        <child>
+          <object class="GtkLabel">
+            <!-- This binding should never do anything because the text is set to
+                 the correct value from the start, all we do is make sure it doesn't change -->
+            <property name="label" bind-source="window" bind-property="default-height">400</property>
+            <layout>
+              <property name="column">1</property>
+              <property name="row">1</property>
+            </layout>
+          </object>
+        </child>
+      </object>
+    </property>
+  </object>
+</interface>
diff --git a/testsuite/reftests/default-size-without-titlebar.ref.ui b/testsuite/reftests/default-size-without-titlebar.ref.ui
new file mode 100644 (file)
index 0000000..0106463
--- /dev/null
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+  <object class="GtkWindow" id="window">
+    <property name="width_request">600</property>
+    <property name="height_request">400</property>
+    <property name="title">size?</property>
+    <property name="child">
+      <object class="GtkGrid">
+        <property name="valign">center</property>
+        <property name="halign">center</property>
+        <property name="column-spacing">10</property>
+        <property name="row-spacing">10</property>
+        <child>
+          <object class="GtkLabel">
+            <property name="label">default width:</property>
+            <layout>
+              <property name="column">0</property>
+              <property name="row">0</property>
+            </layout>
+          </object>
+        </child>
+        <child>
+          <object class="GtkLabel">
+            <property name="label">600</property>
+            <layout>
+              <property name="column">1</property>
+              <property name="row">0</property>
+            </layout>
+          </object>
+        </child>
+        <child>
+          <object class="GtkLabel">
+            <property name="label">default height:</property>
+            <layout>
+              <property name="column">0</property>
+              <property name="row">1</property>
+            </layout>
+          </object>
+        </child>
+        <child>
+          <object class="GtkLabel">
+            <property name="label">400</property>
+            <layout>
+              <property name="column">1</property>
+              <property name="row">1</property>
+            </layout>
+          </object>
+        </child>
+      </object>
+    </property>
+  </object>
+</interface>
diff --git a/testsuite/reftests/default-size-without-titlebar.ui b/testsuite/reftests/default-size-without-titlebar.ui
new file mode 100644 (file)
index 0000000..dcc27ae
--- /dev/null
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+  <object class="GtkWindow" id="window">
+    <property name="width_request">600</property>
+    <property name="height_request">400</property>
+    <property name="title">size?</property>
+    <property name="child">
+      <object class="GtkGrid">
+        <property name="valign">center</property>
+        <property name="halign">center</property>
+        <property name="column-spacing">10</property>
+        <property name="row-spacing">10</property>
+        <child>
+          <object class="GtkLabel">
+            <property name="label">default width:</property>
+            <layout>
+              <property name="column">0</property>
+              <property name="row">0</property>
+            </layout>
+          </object>
+        </child>
+        <child>
+          <object class="GtkLabel">
+            <!-- This binding should never do anything because the text is set to
+                 the correct value from the start, all we do is make sure it doesn't change -->
+            <property name="label" bind-source="window" bind-property="default-width">600</property>
+            <layout>
+              <property name="column">1</property>
+              <property name="row">0</property>
+            </layout>
+          </object>
+        </child>
+        <child>
+          <object class="GtkLabel">
+            <property name="label">default height:</property>
+            <layout>
+              <property name="column">0</property>
+              <property name="row">1</property>
+            </layout>
+          </object>
+        </child>
+        <child>
+          <object class="GtkLabel">
+            <!-- This binding should never do anything because the text is set to
+                 the correct value from the start, all we do is make sure it doesn't change -->
+            <property name="label" bind-source="window" bind-property="default-height">400</property>
+            <layout>
+              <property name="column">1</property>
+              <property name="row">1</property>
+            </layout>
+          </object>
+        </child>
+      </object>
+    </property>
+  </object>
+</interface>
index 5e4d5d08d771d826c1de84efa790c5a6a81b6fd2..ea967f2d0c3ab520dd9a58bd1ed0a69bffa09d77 100644 (file)
@@ -225,6 +225,12 @@ testdata = [
   'data-url.css',
   'data-url.ref.ui',
   'data-url.ui',
+  'default-size-undecorated.ui',
+  'default-size-undecorated.ref.ui',
+  'default-size-with-titlebar.ui',
+  'default-size-with-titlebar.ref.ui',
+  'default-size-without-titlebar.ui',
+  'default-size-without-titlebar.ref.ui',
   'fixed-widget-stacking.ref.ui',
   'fixed-widget-stacking.ui',
   'flipping-icons.ref.ui',